#pragma once
#ifndef _KLAS_RECTANGLE_HPP_
#define _KLAS_RECTANGLE_HPP_

#include "../Platform.hpp"
#include "../math/Vector2.hpp"

namespace klas
{
  namespace math
  {
    template<typename T>
    class KLAS_API Rectangle
    {
    public:

      Rectangle(T X, T Y, T W, T H)
        : x(X), y(Y), w(W), h(H)
      {}

      T x, y, w, h;

      void move(T x, T y);
      void move(const Vector2<T>& qty);
    };

    typedef Rectangle<int32> Recti;
    typedef Rectangle<double> Rectd;

    #include "../../src/math/Rectangle.inl"
  }
}

#endif